io_uring: return back safer resurrect
authorPavel Begunkov <asml.silence@gmail.com>
Sun, 11 Apr 2021 00:46:40 +0000 (01:46 +0100)
committerSalvatore Bonaccorso <carnil@debian.org>
Thu, 17 Mar 2022 15:40:47 +0000 (15:40 +0000)
commite2698eb5e409b52535d21b143e298726c084b419
tree9b5803a1638ae615aa6ccd5e7b68c24e77a012d6
parent7e594234ade57d497be83efbed699b86250fc150
io_uring: return back safer resurrect

Origin: https://git.kernel.org/linus/f70865db5ff35f5ed0c7e9ef63e7cca3d4947f04

Revert of revert of "io_uring: wait potential ->release() on resurrect",
which adds a helper for resurrect not racing completion reinit, as was
removed because of a strange bug with no clear root or link to the
patch.

Was improved, instead of rcu_synchronize(), just wait_for_completion()
because we're at 0 refs and it will happen very shortly. Specifically
use non-interruptible version to ignore all pending signals that may
have ended prior interruptible wait.

This reverts commit cb5e1b81304e089ee3ca948db4d29f71902eb575.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/7a080c20f686d026efade810b116b72f88abaff9.1618101759.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Gbp-Pq: Topic bugfix/all
Gbp-Pq: Name io_uring-return-back-safer-resurrect.patch
fs/io_uring.c